<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script>
        // join 把数组转成字符串（数组的方法）
        // let arr = ['刘德华','张学友', '郭富城', '周林林']
        // console.log(arr.join('-')) // 刘德华-张学友-郭富城-周林林

        // console.log(arr.join('')) // 刘德华张学友郭富城周林林
        // console.log(arr.join()) //不传默认以逗号连接 刘德华,张学友,郭富城,周林林


        // // indexOf方法：数组有、字符串也有,有轻微区别
        // console.log(arr.indexOf('张学友')) // 1
        // console.log(arr.indexOf('')) // -1 因为数组里没有空字符串

        // // indexOf在字符串中用法跟数组的是一样的
        // // 区别在于，如果传空字符串，永远得到0
        // let str = '张学友'
        // console.log( str.indexOf('学') ) // 1
        // console.log( str.indexOf('') ) // 0

        
        let arr = [
            {
                name: '寒冰',
                roles: ['mage', 'support'] // 转字符串 'magesupport'
            },
            {
                name: '蛮族之王',
                roles: ['fighter', 'assassin'] // 'fighterassassin'
            },
        ]

        // 需求：如果传入空字符串过滤出全部
        let res = arr.filter( v => v.roles.join('').indexOf('mage') != -1 )
        console.log(res)
    </script>
</body>
</html>